Data processing depends upon the accurate processing and storing of data by electronic devices, such as integrated circuits, including microprocessors and memory devices. Electronic devices are essential to the operation of everything from high tech devices like computers and cell phones to old economy devices like automobile fuel injection and ignition systems. For instance, more permanent instructions such as BIOS are typically stored in non-volative memory devices, such as programmable read only memory (“PROM”) or flash memory and then supplied to microprocessors which compute results typically stored in random access memory (RAM). Even minor errors in the processing or storage of data by electronic devices may lead to significant difficulties.
Typically, manufacturers test electronic devices with custom hardware interfaces before installation into equipment to ensure the functionality and determine the accuracy of the electronic device. These tests are typically performed by providing predetermined input signals and then measuring output signals for comparison against expected results. For example, the Sigma 3 tester sold by Tanisys Technologies, Inc. tests RAM memory modules by storing data in the module, reading the stored data, and then comparing the read data against expected data. Another conventional method for testing electronic devices is providing test signals with a pin driver. Pin drivers provide comprehensive testing of electronic devices but are expensive and complicated to operate. A less complicated and expensive method for testing electronic devices is to insert the device into a motherboard, if possible, and determine if errors occur under operating conditions. However, this type of testing is much less comprehensive and has difficulty determining operability under extreme conditions.
One significant difficulty with conventional testers is the complicated and inflexible nature of test recipes run by the tester to test the equipment. The testing of memory devices is illustrative. A conventional RAM memory module stores data as zeroes and ones in columns and rows identified as addresses. Testers frequently have difficulty identifying all faults in a memory device since the output from a memory cell having a material defect may often match a projected output purely by chance. Thus, to ensure accurate operation of a memory module, testers often run a variety of algorithms that create data having an enhanced probability of revealing device defects.
Another example of the difficulty of testing memory devices is the identification and tracking of particular device defects. For instance, flash memory devices typically have a greater number of defects than do RAM devices. Rather than discarding defective devices, flash memory devices are typically reprogrammed to avoid the use of defective cells. Similarly, defects in RAM devices are sometimes tracked to determine whether defects are repeated in different devices and whether the nature of the defect is correctable. Comprehensive tracking of defects presents a formidable logistic problem with large scale device testing across numerous testers. For instance, with complex memory testing, variances in test procedures may skew results in a way that is not apparent.
Another difficulty in testing devices is obtaining adequate throughput and efficient use of testing resources. Complex testers, which contain pin drivers, represent a significant capital investment so that idle tester time comes with a substantial cost. Consider the simplified example of a test facility having four testers to test flash memory devices with four recipes. An assembly line approach in which each tester runs a recipe results in tester down time. A batch approach in which all testers run the same recipe results in increased testing time. Individual custom testing interfaces lack the bandwidth to communicate with multiple sites so that the custom hardware is not typically scalable and able to run synchronous tests.